EC2に設定したWebサーバーにWinSCPでファイルをアップロードする方法
こんにちは、クラスメソッドタイランドのPOPです。
今回は WinSCP を使用し、ローカル PC 内の Web サイト表示で使用するファイルを、EC2 インスタンスのサーバーにアップロードする方法を紹介します。
WinSCPとは
WinSCPは、Windows 向けの無料の SFTP およびFTPクライアントです。これを使用することで、リモートサーバーとローカルコンピュータ間でファイルを安全に転送できます。また、直感的なユーザーインターフェースを持ち、ファイルの編集や同期も簡単に行えます。
前提条件
EC2インスタンスの作成
まず、以下のリンクを参照して、Web サイトを表示するための環境を準備してください。
※Amazon Linux 2 または Amazon Linux 2023 のインストールを選択できますが、今回は Amazon Linux 2023 をインストールします。
以下のリンクを参照して、EC2インスタンスを作成してください。
Elastic IP を EC2 インスタンスに割り当てる
以下のリンクを参照して、Elastic IP を EC2 インスタンスに割り当てください。
WinSCPをダウンロード
以下のリンクから WinSCP をダウンロードできます。
Download WinSCP
EC2インスタンス、Webサーバー環境、WinSCPをインストールしたら、WinSCPを使い始めましょう。
WinSCP で EC2 インスタンスのサーバーにログインする
サーバー EC2 インスタンスへのログインは、次の2つの方法で実行できます。
「WinSCP」プログラムを開いておき、下記のどちらかの方法でログインを行います。
1.「New Site」としてログインする
以下のように Session を設定します。
・「New Site」を選択します。
・Host name:「接続する EC2 インスタンスからコピーした IP アドレス」
・User name:「ec2-user」
・「Advanced... |▼」をクリックします。
Advanced Site Settings を次のように設定します。
・「Authentication」を選択します。
・「…」をクリックします。
・デバイスの中に「キーペア」のファイルを選択します。
「OK」をクリックします。
「Save |▼」をクリックします。
次のように Save session as site を設定します。
・Site name:「ec2-tinnakorn」(任意の名前を入力してください。)
・「OK」をクリックします。
「ec2-tinnakorn」という名前が追加されていることがわかります。次に「➡️ Login |▼」をクリックします。
2.「PuTTy」からインポートしてログイン
「Tools ▼」をクリックし、「Import Sites...」を選択します。
保存した Session PuTTYを選択します。この例では「✅️ ec2-tinnakorn」を選択し、「OK」をクリックします。
※これまでに PuTTY で「Save sessions」を行ったことがない場合、オプションはありません。
「Login |▼」をクリックします。
WinSCP のログイン画面を確認する
WinSCP プログラム画面は以下の2つに分かれています。
・緑色はユーザーのコンピュータシステム(ローカルPC側):この例では、アップロードに使用したプロジェクトファイルは「↓ > This PC > Download」に保存されます。
・赤色はEC2 インスタンスのサーバーシステム(サーバー側):Webサイトのページを表示するために、プロジェクトファイルをユーザーのデバイスからEC2インスタンスのサーバーにコピーします。(この部分は次のステップで実行します。)
WinSCP でファイルをアップロードする
初めて WinSCP にログインすると、EC2 インスタンスのデフォルトのサーバーのフォルダーの名前は「ec2-user」になります。
ファイルをアップロードしたい場合は、ローカルPC側 から サーバー側 にファイルをコピーすることで実行できます。
例えば、ローカルPC側 の画面から サーバー側 の画面の「html」フォルダー内にWebサイトのファイルをコピーします。
まとめ
WinSCPを使用することで、EC2インスタンス(Linux)にファイルを簡単かつ安全に転送できます。ユーザーフレンドリーなインターフェースにより、ファイルの管理や編集が容易になります。また、SSHを利用した接続で、セキュリティが強化されています。
この記事がどなたかのお役に立てば幸いです。
以上、クラスメソッドタイランドのPOP(Tinnakorn Maneewong)でしたっ!